
/**
 * AppleIIGo
 * Language Card class
 * (C) 2007-2008 by Marc S. Ressl (mressl@umich.edu)
 * Released under the GPL
 */

#ifndef LANGUAGECARD_H
#define LANGUAGECARD_H

#define LANGUAGECARD_BYTENUM 0x4000

#include "SlotDevice.h"

class LanguageCard : public SlotDevice {
public:
	LanguageCard(class Motherboard * motherboard, char * slotDeviceName);
	
	void onMemoryRequested();
	void onDevicesConnected();
	void onResetAsserted(bool isRestart);
	
	void writeIo(UINT16 address, UINT8 value); 
	UINT8 readIo(UINT16 address);
	
protected:
	class MMU * mmu;
	
	UINT32 ramMemoryByteNum;	
	UINT32 ramMemoryOffset;
	bool isPreWrite;
	
private:
	void setMemoryOffset();
};

#endif
